﻿Imports System.IO
Public Class Alta_Clientes

    Public Sub New()

        ' Llamada necesaria para el diseñador.
        InitializeComponent()

        ' Agregue cualquier inicialización después de la llamada a InitializeComponent().

    End Sub

    Private Sub Limpia()
        Me.txtNombre.Text = ""
        Me.txtRFC.Text = ""
        Me.txtDir.Text = ""
        Me.txtCol.Text = ""
        Me.txtPob.Text = ""
        Me.txtCP.Text = ""
        Me.txtTel.Text = ""
        Me.txtEMAIL.Text = ""
        Me.cboxdia.SelectedIndex = -1
        Me.txtNombre.Focus()

    End Sub

    Private Sub Alta_Clientes_KeyDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.F9
                btnGuardar_Click_1(Nothing, Nothing)

            Case Keys.F12
                btnCancelar_Click_1(Nothing, Nothing)

        End Select
    End Sub

    Private Sub Alta_Clientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not File.Exists(ruta_programa & "\Info.xml") Then
            msg.Mostrar("No se puede encontrar el archivo de Datos", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        Carga_Datos()

        dsInfo = New DataSet
        dsInfo.ReadXml(ruta_programa & "\Info.xml")
    End Sub


    Private Sub btnGuardar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        Dim merror As String = ""
        Dim i As Integer, iLen As Integer, caracter As String
        Dim pos As Integer, bp As Boolean, iPos As Integer, iPos2 As Integer

        'VALIDA QUE EL CAMPO SEA NUMERICO
        'ElseIf IsNumeric(txtNombre.Text) Then
        'Me.ErrorProvider1.SetError(Me.txtNombre, "Please Enter a Numeric Value!")
        'Throw New Exception("Please enter a Char value")


        Try
            If Me.txtNombre.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtNombre, "Ingresa el nombre del cliente")
                Throw New Exception("Ingrese el nombre del cliente")
            End If
            If Me.txtRFC.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtRFC, "Ingrese el RFC del cliente")
                Throw New Exception("Ingrese el RFC del cliente")
            End If
            If Me.txtDir.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtDir, "Ingrese la direccion del cliente")
                Throw New Exception("Ingrese la direccion del cliente")
            End If
            If Me.txtCol.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtCol, "Ingrese la colonia del cliente")
                Throw New Exception("Ingrese la colonia del cliente")
            End If
            If Me.txtPob.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtPob, "Ingrese la poblacion del cliente")
                Throw New Exception("Ingrese la poblacion del cliente")
            End If
            If Me.txtCP.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtCP, "Ingrese el codigo postal del cliente")
                Throw New Exception("Ingrese el codigo postal cliente")
            ElseIf Not IsNumeric(txtCP.Text) Then
                Me.ErrorProvider1.SetError(Me.txtCP, "El codigo postal debe ser numerico")
                Throw New Exception("El codigo postal debe ser numerico")
            End If
            If Me.txtTel.Text.Length = 0 Then
                Me.ErrorProvider1.SetError(Me.txtTel, "Ingrese el telefono del cliente")
                Throw New Exception("Ingrese el telefono cliente")
            ElseIf Not IsNumeric(txtTel.Text) Then
                Me.ErrorProvider1.SetError(Me.txtTel, "El telefono debe ser numerico")
                Throw New Exception("El telefono debe ser numerico")
            End If
            Dim cadena As String
            cadena = Convert.ToString(cboxdia.SelectedItem)
            If cadena = "" Then
                Me.ErrorProvider1.SetError(Me.cboxdia, "Seleccione un dia de la semana")
                Throw New Exception("Seleccione un dia de la semana")
            End If

            Dim fila As DataRow = dsInfo.Tables("CLIENTES").NewRow
            Dim Id As Integer = Valor_Config("EMPRESA", "Nuevo Cliente") + 1

            fila("CCLIE") = "NC" & Id.ToString
            fila("NOMBRE") = "" & txtNombre.Text.Trim()
            fila("RFC") = "" & txtRFC.Text.Trim()
            fila("DIR") = "" & txtDir.Text.Trim()
            fila("COLONIA") = "" & txtCol.Text.Trim()
            fila("POB") = "" & txtPob.Text.Trim()
            fila("CODIGO") = "" & txtCP.Text.Trim()
            fila("TELEFONO") = "" & txtTel.Text.Trim()
            fila("EMAIL") = "" & txtEMAIL.Text.Trim()
            fila("CLASIFIC") = "1"
            fila("DIAS_CRE") = "0"
            fila("SALDO") = "0"
            fila("LIM_CRED") = "0"
            fila("DIA") = "" & cboxdia.Text
            fila("VEND") = "1"


            dsInfo.Tables("CLIENTES").Rows.Add(fila)

            CType(dsConfig.Tables("EMPRESA").Select("Concepto='Nuevo Cliente'").GetValue(0), DataRow)(1) = Id
            Guarda_Datos()
            Limpia()


            Dim regreso As Boolean
            Dim forma As New Pedidos("NC" & Id, regreso)
            If regreso Then
                Me.Hide()
                forma.ShowDialog()
                forma.Dispose()
                Me.Show()
                Me.BringToFront()
            Else
                forma.Dispose()
            End If


            Me.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try



        'Dim fila As DataRow = dsInfo.Tables("CLIENTES").NewRow
        'Dim Id As Integer = Valor_Config("EMPRESA", "Nuevo Cliente") + 1

        'fila("CCLIE") = "NC" & Id.ToString
        'fila("NOMBRE") = "" & txtNombre.Text.Trim()
        'fila("RFC") = "" & txtRFC.Text.Trim()
        'fila("DIR") = "" & txtDir.Text.Trim()
        'fila("COLONIA") = "" & txtCol.Text.Trim()
        'fila("POB") = "" & txtPob.Text.Trim()
        'fila("CODIGO") = "" & txtCP.Text.Trim()
        'fila("TELEFONO") = "" & txtTel.Text.Trim()
        'fila("EMAIL") = "" & txtEMAIL.Text.Trim()
        'fila("CLASIFIC") = "1"
        'fila("DIAS_CRE") = "0"
        'fila("SALDO") = "0"
        'fila("LIM_CRED") = "0"
        'fila("DIA") = "" & txtDia.Text.Trim()
        'fila("VEND") = "1"


        'dsInfo.Tables("CLIENTES").Rows.Add(fila)

        'CType(dsConfig.Tables("EMPRESA").Select("Concepto='Nuevo Cliente'").GetValue(0), DataRow)(1) = Id
        'Guarda_Datos()
        'Limpia()


        'Dim regreso As Boolean
        'Dim forma As New Pedidos("NC" & Id, regreso)
        'If regreso Then
        '    Me.Hide()
        '    forma.ShowDialog()
        '    forma.Dispose()
        '    Me.Show()
        '    Me.BringToFront()
        'Else
        '    forma.Dispose()
        'End If





    End Sub

    Private Sub btnCancelar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        'If msg.Mostrar("Esta seguro que desea cancelar esta alta?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = "&Si" Then
        Limpia()
        Me.Close()
        'End If
    End Sub

End Class